package com.dartfar.base.service;

import java.util.List;

import com.dartfar.base.model.Authority;
import com.dartfar.base.model.Role;
import com.dartfar.menu.model.Menu;

public interface AuthorityService {
	
	/**
	 * 保存权限功能
	 * @param roleId 角色ID
	 * @param subMenuId 子菜单ID
	 * @param functionIds 功能字符串
	 * @return 返回添加功能的ID
	 */
	public void add(Role role, Menu menu, String functionIds);
	
	
	/**
	 * 删除历史权限
	 * @param roleId 角色ID
	 * @return 所有权限的列表
	 */
	public boolean deleteByRoleId(int roleId);
	
	/**
	 * 获取所有权限列表
	 * @return 所有权限的列表
	 */
	public List<Authority> getList();
	
	/**
	 * 根据条件获取权限列表
	 * @return 所有功能的列表
	 */
	public List<Authority> getListByRoleMenuId(String roleIds, int roleId, int menuId);
	
	/**
	 * 根据权限列表获取主菜单方法
	 * @param role 角色ID
	 */
	public List<Menu> getMenuByAuthoritys(List<Authority> authoritys);
	
	/**
	 * 根据权限列表获取子菜单方法
	 * @param autList 权限列表
	 */
	public List<Menu> getSubMenuByAuthorityList(List<Authority> authoritys);

}
